/********************************************************************************
TITLE:                      	Using Virtual Functions
FILENAME:                   	audiocd.h
PREPARED FOR:               	CS215 Section CS13-02
PROGRAMMER(S):              	Eric (Fox) Crowell, Timothy Drye
DEVELOPMENT DATE:           	< 12/15/13 >
COMPILER USED:      			Microsoft Visual Studio Professional 2013
- Version 12.0.21005.1 REL
TARGET PLATFORM:         	    Windows 8 x64
================================================================================
REVISION HISTORY

DATE         PROGRAMMER          DESCRIPTION OF CHANGES MADE
------------------------------------------------------------------------------
<12/15/13       Fox                 Class Created.                           >

*******************************************************************************/

#ifndef AUDIO_CD_H
#define AUDIO_CD_H

#include <ostream>

#include "media.h"

using namespace std;

class AudioCD : public Media
{
public:
	AudioCD();
	AudioCD(const string  & InTitle, const string & InArtist, const string & InWherePurchased,
		float InCost, Time  & InRunningTime, int NumberOfSelections); // all the needed parameters
	bool IsCD_AtBeginning();
	bool IsCD_AtEnd();
	int GetNumberOfTracks();
	int GetCurrentTrack();
	virtual void Play();
	virtual void FastForward();
	virtual void Rewind();
	virtual void PrintMedia(ostream & Out);
	// Displays media type, calls parent to display inherited members,
	//   then displays NumberOfTracks

protected:
	bool CD_AtBeginning{ true };
	bool CD_AtEnd{};
	int NumberOfTracks{ 1 };
	int CurrentTrack{ 1 };
};

#endif